home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / msqllib / e / modules / libraries / msql.e next >
Text File  |  1999-01-01  |  4KB  |  152 lines

  1. OPT MODULE,OSVERSION=37
  2. OPT EXPORT,PREPROCESS,REG=5
  3.  
  4.  
  5. /*
  6. **      $VER: Msql.h 5.0 (16.09.98)
  7. **
  8. **      definition of Msql
  9. **
  10. **      (C) Copyright 1998 Christophe Sollet
  11. **      All Rights Reserved.
  12. **      AmigaE version by Piotr Gapiïski (narg@polbox.com)
  13. **
  14. */
  15.  
  16. MODULE 'exec/tasks'
  17.  
  18.  
  19. OBJECT hookMessage
  20.   id          :CHAR         ->- (unsigned) Which function was called
  21.   type        :CHAR         ->- (unsigned) Enter the function or exit it?
  22.   task        :PTR TO tc    ->-            The calling task
  23.   a0,a1,a2    :LONG         ->- (unsigned) Register Contents at the function call or return
  24.   d0,d1,d2    :LONG         ->- (unsigned)
  25. ENDOBJECT
  26.  
  27.  
  28. CONST  FCH_ENTER =  0,
  29.        FCH_EXIT  =  1
  30.  
  31.  
  32. ->- Hook Function id
  33. ->-
  34. CONST  MFT_AllocConnection = 1,
  35.        MFT_FreeConnection  = 2,
  36.        MFT_GetErrMsg       = 3,
  37.        MFT_Connect         = 4,
  38.        MFT_SelectDB        = 5,
  39.        MFT_Query           = 6,
  40.        MFT_CreateDB        = 7,
  41.        MFT_DropDB          = 8,
  42.        MFT_Shutdown        = 9,
  43.        MFT_GetProtoInfo    = 10,
  44.        MFT_ReloadAcls      = 11,
  45.        MFT_GetServerInfo   = 12,
  46.        MFT_GetHostInfo     = 13,
  47.        MFT_Close           = 14,
  48.        MFT_DataSeek        = 15,
  49.        MFT_FieldSeek       = 16,
  50.        MFT_FreeResult      = 17,
  51.        MFT_FetchRow        = 18,
  52.        MFT_FetchField      = 19,
  53.        MFT_ListDBs         = 20,
  54.        MFT_ListTables      = 21,
  55.        MFT_ListFields      = 22,
  56.        MFT_ListIndex       = 23,
  57.        MFT_StoreResult     = 24,
  58.        MFT_LoadConfigFile  = 25,
  59.        MFT_GetIntConfOld   = 26,
  60.        MFT_GetCharConfOld  = 27,
  61.        MFT_GetIntConf      = 28,
  62.        MFT_GetCharConf     = 29,
  63.        MFT_GetServerStats  = 30,
  64.        MFT_CopyDB          = 31,
  65.        MFT_MoveDB          = 32,
  66.        MFT_UnixTimeToDate  = 33,
  67.        MFT_UnixTimeToTime  = 34,
  68.        MFT_GetSequenceInfo = 35,
  69.        MFT_DateToUnixTime  = 36,
  70.        MFT_TimeToUnixTime  = 37,
  71.        MFT_SumTimes        = 38,
  72.        MFT_DateOffset      = 39,
  73.        MFT_DiffTimes       = 40,
  74.        MFT_DiffDates       = 41
  75.  
  76.  
  77. OBJECT msqlConnection PRIVATE
  78.   empty
  79. ENDOBJECT
  80.  
  81. OBJECT m_row
  82.   m_row       :PTR TO CHAR
  83. ENDOBJECT
  84.  
  85. OBJECT m_field
  86.   name        :PTR TO CHAR
  87.   table       :PTR TO CHAR
  88.   type        :LONG
  89.   length      :LONG
  90.   flags       :LONG
  91. ENDOBJECT
  92.  
  93. OBJECT m_seq
  94.   step        :LONG
  95.   value       :LONG
  96. ENDOBJECT
  97.  
  98. OBJECT m_data
  99.   width       :LONG
  100.   data        :PTR TO m_row  ->- char **
  101.   next        :PTR TO m_data
  102. ENDOBJECT
  103.  
  104. OBJECT m_fdata
  105.    field      :m_field
  106.    next       :PTR TO m_fdata
  107. ENDOBJECT
  108.  
  109. OBJECT m_result
  110.   queryData   :PTR TO m_data
  111.   cursor      :PTR TO m_data
  112.   fieldData   :PTR TO m_fdata
  113.   fieldCursor :PTR TO m_fdata
  114.   numRows     :LONG
  115.   numFields   :LONG
  116. ENDOBJECT
  117.  
  118. #define  MsqlNumRows(res)    res.numRows
  119. #define  MsqlNumFields(res)  res.numFields
  120.  
  121. CONST  INT_TYPE        = 1,
  122.        CHAR_TYPE       = 2,
  123.        REAL_TYPE       = 3,
  124.        IDENT_TYPE      = 4,
  125.        NULL_TYPE       = 5,
  126.        TEXT_TYPE       = 6,
  127.        DATE_TYPE       = 7,
  128.        UINT_TYPE       = 8,
  129.        MONEY_TYPE      = 9,
  130.        TIME_TYPE       = 10,
  131.        LAST_REAL_TYPE  = 10,
  132.        IDX_TYPE        = 253,
  133.        SYSVAR_TYPE     = 254,
  134.        ANY_TYPE        = 255
  135.  
  136. CONST  NOT_NULL_FLAG   = 1,
  137.        UNIQUE_FLAG     = 2
  138.  
  139. #define IS_UNIQUE(n)    (n AND UNIQUE_FLAG)
  140. #define IS_NOT_NULL(n)  (n AND NOT_NULL_FLAG)
  141.  
  142. ->- [AMIGAE]
  143. ->- I don't know HOW translate following piece of code
  144. ->- static char msqlTypeNames[][12] =
  145. ->-   {
  146. ->-     "???", "int", "char","real","ident","null","text","date","uint",
  147. ->-     "money","time","???"
  148. ->-   };
  149. ->- from NOW msqlTypeNames(x) instead msqlTypeNames[x][0] MUST be used!
  150.  
  151. #define msqlTypeNames(x) ListItem(['???','int','char','real','ident','null','text','date','uint','money','time','???']:LONG,x)
  152.